package com.wh.wisdomsite.xbox.common.annotation;

import com.wh.wisdomsite.xbox.common.ServiceMethodDefinition;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


/**
 * 自定义标签库(注册服务方法)
 * @Package com.wh.wisdomsite.xbox.common.annotation
 * @author 谢泽鹏
 * @date 2014年10月8日 下午4:02:14
 * @Copyright 个人版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2014
 * @version V1.0
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ServiceMethod {


    /**
     * 服务方法名称
     * @return
     */
    String method() default "";


    /**
     * 服务标题
     * @return
     */
    String title() default "";

    /**
     * 所属分组
     * @return
     */
    String group() default ServiceMethodDefinition.DEFAULT_GROUP;


    /**
     * 所属分组标题
     * @return
     */
    String groupTitle() default ServiceMethodDefinition.DEFAULT_GROUP_TITLE;

    /**
     * 标签.可以打上多个.便于多维度检索
     * @return
     */
    String[] tags() default {};

    /**
     * 访问过期时间,小于等于0则不控制
     * @return
     */
    int timeout() default 0;

    /**
     * 服务版本
     * @return
     */
    String version() default "1.0";

    /**
     * 请求方法
     * @return
     */
    HttpAction[] httpAction() default {};

    /**
     * 是否需要会话
     * @return
     */
    NeedInSessionType needInSession() default NeedInSessionType.NO;

    /**
     * 是否忽略签名检查
     * @return
     */
    IgnoreSignType ignoreSign() default IgnoreSignType.NO;

    /**
     * 服务是否过期,默认不过期
     * @return
     */
    ObsoletedType obsoleted() default ObsoletedType.NO;
}
